/*
 * Systemprogrammierung
 * Multiplayer-Quiz
 *
 * Client
 *
 * fragewechsel.c: Implementierung des Fragewechsel-Threads
 */

#include "gui/gui_interface.h"
#include "common/sockets.h"
#include "fragewechsel.h"
#include "main.h"

/* Startfunktion des Fragewechsel Threads */
void* question_thread(void* param)
{

	int sock = get_socket();

	//  Initialisiere Semaphor zum Auslösen des Fragewechsel
	sem_init(&question, 0, 0);


	/*******Fragewechsel-Schleife*******/

	while (1)
	{

		// Warte auf setzen des Semaphor von Listener-Thread, solange blockiert
		sem_wait(&question);

		// Wartezeit
		sleep(5);

		// Anfrage an Server senden
		if (catch_com_err(send_MSG(sock, QUESTION_REQUEST, 0, NULL)) == COM_ERR)
		{
			debugPrint("Verbindung zum Server verloren\n");
			break;
		}
	}

	debugPrint("Fragewechsel-Thread wurde beendet");

	// Fragewechsel-Thread beenden
	pthread_exit(NULL);
	return NULL;
}
